package com.spring.boot.springBoot.redisEache.service;

import com.spring.boot.springBoot.redisEache.entity.DemoInfo;
import com.spring.boot.springBoot.redisEache.repository.DemoInfoRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;

/**
 * Created by pactera on 2017/9/28.
 */
@Service
public class DemoInfoService {

    @Autowired
    private DemoInfoRepository demoInfoRepository;


    /**
     * 如果RedisCacheConfig中RedisTemplate定义为StringRedisTemplate(字符集缓存)
     * 可以使用Cacheable获取缓存数据
     * 如果使用RedisTemplate定义为RedisTemplate，使用JedisTemplate工具内操作缓存信息
     * @param id
     * @return
     */
//    @Cacheable(value="demoInfo") //缓存,这里没有指定key.
    public DemoInfo findById(String id) {
        System.err.println("DemoInfoServiceImpl.findById()=========从数据库中进行获取的....id="+id);
        return demoInfoRepository.findOne(Integer.valueOf(id));
    }

    @CacheEvict(value="demoInfo")
    public void deleteFromCache(String id) {
        System.out.println("DemoInfoServiceImpl.delete().从缓存中删除.");
    }

    public void save(DemoInfo demoInfo){
        demoInfoRepository.save(demoInfo);
    }

}
